﻿//-----------------------------------------------------------------------
// <copyright>
// This file is subject to the terms and conditions of the Microsoft Public License (MS-PL).
// See http://www.microsoft.com/opensource/licenses.mspx#Ms-PL for more details.
// </copyright>
//----------------------------------------------------------------------- 
using System;
using System.Collections.Generic;

namespace Fulcrum.ControlGenerator
{
    public interface IDependencyPropertyDataContext
    {
        bool CoerceValue 
        { 
            get; 
        }

        string DefaultValue 
        { 
            get; 
        }

        string DependencyPropertyKeyName 
        { 
            get; 
        }

        string DependencyPropertyName 
        { 
            get; 
        }

        bool IsReadOnly 
        { 
            get; 
        }

        ICollection<string> MetadataOptions 
        { 
            get; 
        }

        string Name 
        { 
            get; 
        }

        string StaticChangedMethodName 
        { 
            get; 
        }

        string StaticCoerceMethodName 
        { 
            get; 
        }

        string StaticPartialValidateMethodName 
        { 
            get; 
        }

        string StaticValidateMethodName 
        { 
            get; 
        }

        string Type 
        { 
            get; 
        }

        bool ValidateValue 
        { 
            get; 
        }

        PropertyVisibility Visibility 
        { 
            get; 
        }
    }
}
